1. Field of the Invention
The present invention relates to an apparatus and method for verify an erasure correction function, i.e., a function for correcting an error in the data reproduced from a recording medium, using pointer information indicative of the location of the error and an error correcting code attached to the data.
2. Description of the Related Art
In recent magnetic disk drives, errors in the data read from a disk and decoded are often corrected by the combination of random correction and erasure correction, as disclosed in U.S. Pat. No. 6,119,261 (hereinafter referred to as a “prior art document”). This document describes a technique for detecting an error location in data, and re-executing error correction using the information indicative of the error location, if random correction fails. The information indicating the error location is pointer information called an erasure pointer.
The random correction function incorporated in magnetic disk drives can be tested by the disk drives, using long commands. The long commands are mainly classified into a write long command for instructing writing of data to a disk, and a read long command for instructing reading of data from the disk. The write long command is used to directly write, to a disk, the data (one-sector data) designated by a host. When the write long command is executed, the operation of an ECC generator to generate error correction code (ECC) data is suppressed. ECC data is redundant data used to detect errors from data and correct them. The read long command is used to directly store the data (one-sector data), read from a disk, into a read data buffer without error correction. When the read long command is executed, the operation of an error correction circuit for correcting an error in read data is suppressed.
The inspection of the random correction function is realized by verify whether a random correction circuit is correctly operating, as will now be described. When a host has issued a read long command to a magnetic disk drive, the magnetic disk drive executes the command. As a result, data containing ECC data is read from a disk. The data read from the disk is decoded by a read/write channel, and then stored in a read data buffer without error correction. Part of the data stored in the read data buffer is intentionally broken (rewritten). The partially broken data is copied into a write data buffer, and written to the disk. After that, the operation of reading the partially broken data from the disk is performed in accordance with a normal read command. If the random correction circuit correctly operates, the partially broken data has to be appropriately corrected. Therefore, whether the random correction circuit is correctly operating can be detected by checking whether partially broken data has been appropriately corrected.
As described above, in the prior art, whether the random correction circuit is correctly operating can be verified using a long command. On the other hand, whether the erasure correction circuit is correctly operating cannot be verified without pointer information. In conventional magnetic disk drives, pointer information is output depending upon the read/write channel. Accordingly, unless data that satisfies the pointer generation condition in the read/write channel is read from a disk, the operation of the erasure correction circuit cannot be verified. Moreover, to output pointer information of high reproducibility from the read/write channel, the data read from a disk must contain a clear defect. There is even a case where data reading, for example, is repeated to compile pointer information, thereby estimating the correct pointer position. Thus, conventional magnetic disk drives, which perform error correction using the combination of random correction and erasure correction, do not have the same type function of verify the erasure correction function (i.e., the erasure correction verifying function) as the function of verifying the random correction function using long commands.